Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add no-await-in-promise-methods rule #2259

Merged
merged 18 commits into from
Feb 22, 2024

Conversation

Clement398
Copy link
Contributor

Fixes #2257

docs/rules/no-await-in-promise-methods.md Outdated Show resolved Hide resolved
docs/rules/no-await-in-promise-methods.md Outdated Show resolved Hide resolved
configs/recommended.js Outdated Show resolved Hide resolved
rules/no-await-in-promise-methods.js Outdated Show resolved Hide resolved
rules/no-await-in-promise-methods.js Outdated Show resolved Hide resolved
rules/no-await-in-promise-methods.js Outdated Show resolved Hide resolved
CallExpression(node) {
if (isPromiseMethodWithArray(node)) {
for (const element of getArrayElements(node)) {
if (isAwait(element)) {
Copy link
Collaborator

@fisker fisker Jan 17, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Please use element.type === 'AwaitExpression' directly here, there can also be holes in array,

Promise.all([/* a hole */,])

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

It's corrected.

@Clement398 Clement398 force-pushed the no-await-in-promise-methods branch 3 times, most recently from bf4321b to 719547d Compare January 19, 2024 21:37
@Clement398 Clement398 force-pushed the no-await-in-promise-methods branch 2 times, most recently from 0e4668f to 8d9bf62 Compare January 23, 2024 23:52
fisker
fisker previously approved these changes Jan 27, 2024
@fisker fisker dismissed their stale review January 27, 2024 21:40

Another improvement adding.

@fisker fisker marked this pull request as draft January 27, 2024 21:40
@fisker fisker marked this pull request as ready for review January 27, 2024 21:45
@Clement398
Copy link
Contributor Author

Thank you @fisker for all these improvements.

@Clement398 Clement398 force-pushed the no-await-in-promise-methods branch 3 times, most recently from 141f801 to 0cda1c3 Compare February 10, 2024 11:23
@sindresorhus sindresorhus merged commit a3be554 into sindresorhus:main Feb 22, 2024
17 checks passed
@sindresorhus
Copy link
Owner

Thanks :)

@Clement398 Clement398 deleted the no-await-in-promise-methods branch June 21, 2024 15:17
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 22, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
renovate bot added a commit to mmkal/eslint-plugin-mmkal that referenced this pull request Aug 23, 2024
##### [v55.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v55.0.0)

##### New rules

-   [`no-length-as-slice-end`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-length-as-slice-end.md) ([#2400](sindresorhus/eslint-plugin-unicorn#2400))  [`3c33820`](sindresorhus/eslint-plugin-unicorn@3c33820)

##### Improvements

-   Add TypeScript types ([#2382](sindresorhus/eslint-plugin-unicorn#2382))  [`68e0f13`](sindresorhus/eslint-plugin-unicorn@68e0f13)

##### Fixes

-   `no-single-promise-in-promise-methods`: Remove broken autofix for `Promise.all()` ([#2386](sindresorhus/eslint-plugin-unicorn#2386))  [`8d28b6e`](sindresorhus/eslint-plugin-unicorn@8d28b6e)
-   `prefer-node-protocol`: Ignore Bun modules ([#2384](sindresorhus/eslint-plugin-unicorn#2384))  [`a45b24a`](sindresorhus/eslint-plugin-unicorn@a45b24a)
-   `no-negation-in-equality-check`: Ignore boolean type casting ([#2379](sindresorhus/eslint-plugin-unicorn#2379))  [`37e00dd`](sindresorhus/eslint-plugin-unicorn@37e00dd)
##### [v54.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v54.0.0)

##### New rules

-   [`no-negation-in-equality-check`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-negation-in-equality-check.md) ([#2353](sindresorhus/eslint-plugin-unicorn#2353))  [`8957a03`](sindresorhus/eslint-plugin-unicorn@8957a03)

##### Breaking

-   `prefer-array-find`: Change [`checkFromLast`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-array-find.md#checkfromlast) default value to `true` ([#2367](sindresorhus/eslint-plugin-unicorn#2367))  [`a449af9`](sindresorhus/eslint-plugin-unicorn@a449af9)

##### Improvements

-   Add name to flat configs ([#2377](sindresorhus/eslint-plugin-unicorn#2377))  [`ac8536e`](sindresorhus/eslint-plugin-unicorn@ac8536e)
-   `prefer-array-some`: Check `Array#{findIndex,findLastIndex}()` ([#2370](sindresorhus/eslint-plugin-unicorn#2370))  [`10568ab`](sindresorhus/eslint-plugin-unicorn@10568ab)
-   `prefer-includes`: Check `.lastIndexOf()` ([#2368](sindresorhus/eslint-plugin-unicorn#2368))  [`d812ad1`](sindresorhus/eslint-plugin-unicorn@d812ad1)
-   `prefer-string-raw`: Ignore strings in Enums ([#2354](sindresorhus/eslint-plugin-unicorn#2354))  [`175ea04`](sindresorhus/eslint-plugin-unicorn@175ea04)

##### Fixes

-   Fix edge cases when add `new` to calls ([#2352](sindresorhus/eslint-plugin-unicorn#2352))  [`d8f8161`](sindresorhus/eslint-plugin-unicorn@d8f8161)
##### [v53.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v53.0.0)

##### New rules

-   [`consistent-empty-array-spread`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/consistent-empty-array-spread.md) ([#2349](sindresorhus/eslint-plugin-unicorn#2349))  [`8d7954c`](sindresorhus/eslint-plugin-unicorn@8d7954c)
-   [`prefer-string-raw`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-string-raw.md) ([#2339](sindresorhus/eslint-plugin-unicorn#2339))  [`4f1400a`](sindresorhus/eslint-plugin-unicorn@4f1400a)
-   [`no-invalid-fetch-options`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-invalid-fetch-options.md) ([#2338](sindresorhus/eslint-plugin-unicorn#2338))  [`342aafb`](sindresorhus/eslint-plugin-unicorn@342aafb)
-   [`no-magic-array-flat-depth`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-magic-array-flat-depth.md) ([#2335](sindresorhus/eslint-plugin-unicorn#2335))  [`bc17428`](sindresorhus/eslint-plugin-unicorn@bc17428)
-   [`prefer-structured-clone`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/prefer-structured-clone.md) ([#2329](sindresorhus/eslint-plugin-unicorn#2329))  [`497519e`](sindresorhus/eslint-plugin-unicorn@497519e)

##### Breaking

-   Require Node.js 18.18 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)

##### Meta

-   You can now [sponsor @fisker](https://github.com/sponsors/fisker) for his work on this project ([#2348](sindresorhus/eslint-plugin-unicorn#2348))  [`b82542d`](sindresorhus/eslint-plugin-unicorn@b82542d)

##### Improvements

-   Support ESLint 9 ([#2250](sindresorhus/eslint-plugin-unicorn#2250))  [`598f57b`](sindresorhus/eslint-plugin-unicorn@598f57b)
-   `no-array-method-this-argument`: Check `Array.fromAsync()` ([#2330](sindresorhus/eslint-plugin-unicorn#2330))  [`99489b9`](sindresorhus/eslint-plugin-unicorn@99489b9)
-   `prefer-number-properties`: Add `checkNaN` option ([#2315](sindresorhus/eslint-plugin-unicorn#2315))  [`d30de50`](sindresorhus/eslint-plugin-unicorn@d30de50)
-   `template-indent`: Support member expression paths in `tags` and `functions` ([#2346](sindresorhus/eslint-plugin-unicorn#2346))  [`aabcf1d`](sindresorhus/eslint-plugin-unicorn@aabcf1d)
-   `prefer-number-properties`: Don't require by default for `Infinity`/`-Infinity` to be written as `Number.POSITIVE_INFINITY`/`Number.NEGATIVE_INFINITY` ([#2312](sindresorhus/eslint-plugin-unicorn#2312))  [`e0dfed2`](sindresorhus/eslint-plugin-unicorn@e0dfed2)
-   `escape-case`: Ignore `String.raw` ([#2342](sindresorhus/eslint-plugin-unicorn#2342))  [`45bd444`](sindresorhus/eslint-plugin-unicorn@45bd444)
-   `no-hex-escape`: Ignore `String.raw` ([#2343](sindresorhus/eslint-plugin-unicorn#2343))  [`cc02a7f`](sindresorhus/eslint-plugin-unicorn@cc02a7f)
-   `prefer-dom-node-dataset`: Ignore `await`ed `getAttribute` call ([#2334](sindresorhus/eslint-plugin-unicorn#2334))  [`45f23d5`](sindresorhus/eslint-plugin-unicorn@45f23d5)
-   `prevent-abbreviations`: Support non-ASCII filenames ([#2308](sindresorhus/eslint-plugin-unicorn#2308))  [`28762c8`](sindresorhus/eslint-plugin-unicorn@28762c8)
-   `throw-new-error`: Check all call expressions instead of just argument of `ThrowStatement` ([#2332](sindresorhus/eslint-plugin-unicorn#2332))  [`1626852`](sindresorhus/eslint-plugin-unicorn@1626852)
##### [v52.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v52.0.0)

##### New rules

-   [`no-single-promise-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-single-promise-in-promise-methods.md) ([#2258](sindresorhus/eslint-plugin-unicorn#2258))  [`8f0ee89`](sindresorhus/eslint-plugin-unicorn@8f0ee89)
-   [`no-await-in-promise-methods`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-await-in-promise-methods.md) ([#2259](sindresorhus/eslint-plugin-unicorn#2259))  [`a3be554`](sindresorhus/eslint-plugin-unicorn@a3be554)
-   [`no-anonymous-default-export`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-anonymous-default-export.md) ([#2273](sindresorhus/eslint-plugin-unicorn#2273))  [`c035216`](sindresorhus/eslint-plugin-unicorn@c035216)

##### Improvements

-   `filename-case`: Add option for multiple file extensions ([#2186](sindresorhus/eslint-plugin-unicorn#2186))  [`4594020`](sindresorhus/eslint-plugin-unicorn@4594020)
-   `import-style`: Support `node:` protocol ([#2297](sindresorhus/eslint-plugin-unicorn#2297))  [`c28a086`](sindresorhus/eslint-plugin-unicorn@c28a086)
-   `prefer-array-find`: Check `array.filter().at(0)` ([#2284](sindresorhus/eslint-plugin-unicorn#2284))  [`e6074fe`](sindresorhus/eslint-plugin-unicorn@e6074fe)
-   `prefer-prototype-methods`: Check `Object.prototype` methods from `globalThis` ([#2286](sindresorhus/eslint-plugin-unicorn#2286))  [`1792d33`](sindresorhus/eslint-plugin-unicorn@1792d33)
-   `no-array-callback-reference`: Check logical expressions and check ternaries deeply ([#2289](sindresorhus/eslint-plugin-unicorn#2289))  [`231529a`](sindresorhus/eslint-plugin-unicorn@231529a)

##### Fixes

-   `prefer-spread`: Fix it to not report on optional chaining ([#2304](sindresorhus/eslint-plugin-unicorn#2304))  [`df1ff1c`](sindresorhus/eslint-plugin-unicorn@df1ff1c)
-   `no-anonymous-default-export`: Uppercase class name ([#2282](sindresorhus/eslint-plugin-unicorn#2282))  [`5ce4169`](sindresorhus/eslint-plugin-unicorn@5ce4169)
##### [v51.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.1)

-   `prefer-node-protocol`: Fix false positive on `bun:*` modules ([#2272](sindresorhus/eslint-plugin-unicorn#2272))  [`43fc638`](sindresorhus/eslint-plugin-unicorn@43fc638)
##### [v51.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v51.0.0)

##### Breaking

-   `consistent-destructuring`: Remove from `recommended` preset ([#2260](sindresorhus/eslint-plugin-unicorn#2260))  [`702d51b`](sindresorhus/eslint-plugin-unicorn@702d51b)

##### Improvements

-   `no-array-method-this-argument`: Check `Array.from()` ([#2262](sindresorhus/eslint-plugin-unicorn#2262))  [`797caee`](sindresorhus/eslint-plugin-unicorn@797caee)

##### Fixes

-   `no-thenable`: Fix crash on `{[Symbol.prototype]: 0}` ([#2248](sindresorhus/eslint-plugin-unicorn#2248))  [`3c7d7c0`](sindresorhus/eslint-plugin-unicorn@3c7d7c0)
-   `prefer-prototype-methods`: Fix argument of `isMethodCall` ([#2247](sindresorhus/eslint-plugin-unicorn#2247))  [`3b504fa`](sindresorhus/eslint-plugin-unicorn@3b504fa)
##### [v50.0.1](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.1)

##### Fixes

-   `no-unnecessary-polyfills`: Fix missing dependency error ([#2242](sindresorhus/eslint-plugin-unicorn#2242))  [`3df1606`](sindresorhus/eslint-plugin-unicorn@3df16068)
##### [v50.0.0](https://github.com/sindresorhus/eslint-plugin-unicorn/releases/tag/v50.0.0)

##### New rules

-   [`no-unnecessary-polyfills`](https://github.com/sindresorhus/eslint-plugin-unicorn/blob/main/docs/rules/no-unnecessary-polyfills.md) ([#1717](sindresorhus/eslint-plugin-unicorn#1717))  [`6788d86`](sindresorhus/eslint-plugin-unicorn@6788d86)

##### Improvements

-   Support ESLint's new config system ([#1886](sindresorhus/eslint-plugin-unicorn#1886))  [`65711f9`](sindresorhus/eslint-plugin-unicorn@65711f9)
-   `no-useless-undefined`: Add `checkArrowFunctionBody` option ([#2232](sindresorhus/eslint-plugin-unicorn#2232))  [`9d7048c`](sindresorhus/eslint-plugin-unicorn@9d7048c)
-   `prefer-negative-index`: Check `TypedArray#subarray()` ([#2237](sindresorhus/eslint-plugin-unicorn#2237))  [`6708a30`](sindresorhus/eslint-plugin-unicorn@6708a30)
-   `no-useless-undefined`: Ignore React state setters ([#2223](sindresorhus/eslint-plugin-unicorn#2223))  [`42881ba`](sindresorhus/eslint-plugin-unicorn@42881ba)
-   `prefer-module`: Allow `module` as TSTypeParameter name ([#2213](sindresorhus/eslint-plugin-unicorn#2213))  [`8f61f7c`](sindresorhus/eslint-plugin-unicorn@8f61f7c)

##### Fixes

-   `string-content`: Fix JSX autofix for newlines, etc. ([#2222](sindresorhus/eslint-plugin-unicorn#2222))  [`b95e75e`](sindresorhus/eslint-plugin-unicorn@b95e75e)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Rule proposal: no-await-in-promise-methods
3 participants